Se denomina la "salida" de un programa a todo el texto que el programa produce y aparece por la pantalla cuando el programa se ejecuta. Las instrucciones que permiten producir ese texto de "salida" utilizan el objeto cout.
Las instrucciones que utilizan cout todas tienen la misma estructura: primero viene cout y luego, separados por el operador << hay una lista de "items" de información (valores de tipos distintos). Por ejemplo, la instrucción:
cout << "Groucho" << 7 << "Chico" << 9 << endl;
cumple con la definición. Hay 5 ítems de información: el texto "Groucho", un 7, el texto "Chico", un 9 y finalmente un endl (hablaremos de él muy pronto). Al ejecutar esta instrucción en un programa, aparece por la pantalla lo siguiente:
Groucho7Chico9
No está demás emfatizar que los diversos valores salen pegados, sin espacios entremedio. La instrucción cout es muy precisa, solamente muestra lo que nosotros hayamos indicado explícitamente.
También hay que fijarse muy bien dónde van las comillas. Por ejemplo, esta instrucción no funcionaría:
cout << Groucho << 7 << Chico << 9 << endl;
y eso es porque los textos que queramos indicar "literalmente" tal como estan en el programa deben estar delimitados por comillas: "Groucho".
Si tenemos 2 instrucciones cout que muestran, cada una, 2 ítems de información, las podemos juntar en una sola que muestre 4. Por ejemplo:
cout << "Groucho" << 7; cout << "Chico" << 9;
se puede escribir también en una sola línea:
cout << "Groucho" << 7 << "Chico" << 9;
Al revés también se puede: puedes partir una instrucción larga cout en muchas (tantas como ítems, de hecho):
cout << "Groucho"; cout << 7; cout << "Chico"; cout << 9;
Todas estas combinaciones producen la misma salida. Esto nos demuestra que no hay relación entre la cantidad de couts que hayamos puesto y las líneas que aparecen por la pantalla al ejecutarse el programa. Con dos, una o cuatro líneas de programa la salida de los ejemplos anteriores es siempre de una línea:
Groucho7Chico9
Si queremos mostrar por pantalla Groucho y Chico en líneas separadas, después del 7 hay que producir un "salto de línea". Los saltos de línea colocan el "cursor" de la salida en la línea siguiente, y se producen intercalando un endl. El objeto endl simboliza un final de línea (end-of-line por eso endl), e inserta uno allí donde aparezca. La instrucción:
cout << "Groucho" << 7 << endl << "Chico" << 9;
produce:
Groucho 7 Chico 9
ya que después del 7 hay un endl. Si queremos poner cada ítem en una línea separada podemos escribir:
cout << "Groucho" << endl << 7 << endl << "Chico" << endl << 9 << endl;
y entonces obtendremos:
Groucho 7 Chico 9
Pero cómo podemos producir un espacio a la salida? Pues metiendo espacios entre las comillas, para que formen parte del texto literal que estamos indicando. Por ejemplo, para producir:
Groucho 7 Chico 9
pondremos:
cout << "Groucho " << 7 << endl << "Chico " << 9 << endl;
Fíjate que ahora detrás de "Groucho" y "Chico" hay un espacio, justo antes de cerrar las comillas. Ese espacio se toma como parte del texto que cout tiene que escribir.
Si queremos mostrar los números 2, 3 y 5, y ponemos:
cout << 2 << 3 << 5 << endl;
obtendremos:
235
que parece que es el número 235. Para poner un espacio entremedio de cada número, sólo hay que poner:
cout << 2 << " " << 3 << " " << 5 << endl;
Aparte de números y textos, cout admite también formulas que usen números. Por ejemplo, el siguiente programa muestra un 45:
cout << 9*5 << endl;
Lo que hemos hecho es pedir que salga por pantalla la multiplicación de 9 por 5.
Haz un programa que muestra por la pantalla una cruz como la siguiente:
* *** *
Experimenta con endl y prueba instrucciones como:
cout << "Voy a " << endl << " partir la frase" << endl; cout << 1 << endl << endl << 2 << endl << endl << 3 << endl;
para convencerte de cómo usarlo.
En preparación